const express=require('express');//路由器对象基于express，所以也要引入模块
const pool=require('../pool.js');
const ur=express.Router();//使用Router方法
ur.post('/reg',(req,res)=>{
	var obj=req.body;//获取post请求数据
	console.log(obj);
	var i=400;
	for(var k in obj){//数据少的情况可以单独判断，数据多的情况使用遍历再进行判断
		i++;
		if(!obj[k]){
			res.send({code:i,msg:k+'不能为空'});
			return;
		}
	}
	pool.query('insert into xz_user set ?',[obj],(err,result)=>{
		if(err){
			res.send({code:500,msg:'服务器端错误'});
			return;
		}
		res.send({code:200,msg:'注册成功'});
	})
})

ur.post('/login',(req,res)=>{
	var obj=req.body;
	console.log(obj);
	var i=400;
	for(var k in obj){
		i++;
		if(!obj[k]){
			res.send({code:i,msg:k+'不能为空'});
			return;
		}
	}
	pool.query('select * from xz_user where uname=? and upwd=?',[obj.uname,obj.upwd],(err,result)=>{//有几个占位符，中括号里就要有几个元素
		if(err){
			console.log(err);//打印错误便于调试
			res.send({code:500,msg:'服务器端错误'});
			return;
		}
		console.log(result);//打印结果，查看数组，了解登录账户及密码是否存在
		if(result.length===0){
			res.send({code:201,msg:'登录失败'});
		}else{
			res.send({code:200,msg:'登录成功'});
		}
	})
})

ur.put('/:uid',(req,res)=>{
	var obj1=req.params;//路由传参必须获取参数数据
	var obj2=req.body;
	console.log(obj1,obj2);
	var i=400;
	for(var k in obj2){
		i++;
		if(!obj2[k]){
			res.send({code:i,msg:k+'不能为空'});
			return;
		}
	}
	pool.query('update xz_user set ? where uid=?',[obj2,obj1.uid],(err,result)=>{
		if(err){
			res.send({code:500,msg:'服务器端错误'});
			return;
		}
		console.log(result);
		if(result.affectedRows===0){
			res.send({code:201,msg:'修改失败'});
		}else{
			res.send({code:200,msg:'修改成功'});
		}
	})
})

ur.get('/',(req,res)=>{
	var obj=req.query;
	console.log(obj);
	if(!obj.pno) obj.pno=1;
	if(!obj.count) obj.count=2;
	console.log(obj);
	var start=(obj.pno-1)*obj.count;//开始查询的值=（当前的页码-1）*每页的数据量
	var size=parseInt(obj.count);//limit后面只能使用数值型
	pool.query('select uid,uname from xz_user limit ?,?',[start,size],(err,result)=>{
		if(err){
			console.log(err);
			res.send({code:500,msg:'服务器端错误'});
			return;
		}
		res.send({code:200,msg:'查询成功',data:result});
	})
})
/*
ur.get('/checkuname',(req,res)=>{
	var obj=req.query;
	console.log(obj);
	if(!obj.uname){
		res.send({code:400,msg:'uname不能为空'});
		return;
	}
	pool.query('select * from xz_user where uname=?',[obj.uname],(err,result)=>{
		if(err){
			res.send({code:500,msg:'服务器端错误'});
			return;
		}
		console.log(result);
		if(result.length!==0){
			res.send({code:201,msg:'该用户已注册'});
		}else{
			res.send({code:200,msg:'该用户可以使用'});
		}
	})
})
*/
ur.get('/checkuname/:uname',(req,res)=>{
	var obj=req.params;
	console.log(obj);
	pool.query('select uid,uname from xz_user where uname=?',[obj.uname],(err,result)=>{
		if(err){
			res.send({code:500,msg:'服务器端错误'});
			return;
		}
		console.log(result);
		if(result.length!==0){
			res.send({code:201,msg:'该用户已被注册'});
		}else{
			res.send({code:200,msg:'该用户可以使用'});
		}
	})
})

ur.delete('/:uid',(req,res)=>{
	var obj=req.params;
	console.log(obj);
	pool.query('delete from xz_user where uid=?',[obj.uid],(err,result)=>{
		if(err){
			res.send({code:500,msg:'服务器端错误'});
			return;
		}
		console.log(result);
		if(result.affectedRows===0){
			res.send({code:201,msg:'删除失败'});
		}else{
			res.send({code:200,msg:'删除成功'});
		}
	})
})

module.exports=ur;